<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>set (with index)</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../../../index.html" title="Chapter 1. Geometry">
<link rel="up" href="../set.html" title="set">
<link rel="prev" href="set_2.html" title="set">
<link rel="next" href="set_from_radian_2.html" title="set_from_radian">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="set_2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_from_radian_2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="geometry.reference.access.set.set_2_with_index"></a><a class="link" href="set_2_with_index.html" title="set (with index)">set
          (with index)</a>
</h5></div></div></div>
<p>
            <a class="indexterm" name="idm45246454968880"></a>
set coordinate value of a Box / Segment
          </p>
<h6>
<a name="geometry.reference.access.set.set_2_with_index.h0"></a>
            <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.description"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.description">Description</a>
          </h6>
<p>
            The free functions <span class="bold"><strong>get</strong></span> and <span class="bold"><strong>set</strong></span> are two of the most important functions of
            Boost.Geometry, both within the library, as also for the library user.
            With these two functions you normally get and set coordinate values from
            and for a point, box, segment or sphere.
          </p>
<h6>
<a name="geometry.reference.access.set.set_2_with_index.h1"></a>
            <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.synopsis"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.synopsis">Synopsis</a>
          </h6>
<p>
</p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Index</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Dimension</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Geometry</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">set</span><span class="special">(</span><span class="identifier">Geometry</span> <span class="special">&amp;</span> <span class="identifier">geometry</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">coordinate_type</span><span class="special">&lt;</span> <span class="identifier">Geometry</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">value</span><span class="special">)</span></pre>
<p>
          </p>
<h6>
<a name="geometry.reference.access.set.set_2_with_index.h2"></a>
            <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.parameters"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.parameters">Parameters</a>
          </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                    <p>
                      Type
                    </p>
                  </th>
<th>
                    <p>
                      Concept
                    </p>
                  </th>
<th>
                    <p>
                      Name
                    </p>
                  </th>
<th>
                    <p>
                      Description
                    </p>
                  </th>
</tr></thead>
<tbody>
<tr>
<td>
                    <p>
                      Index
                    </p>
                  </td>
<td>
                    <p>
                      Index, this template parameter is required. For a Box: either
                      min_corner or max_corner. For a Segment: either 0 or 1 for
                      first or last point.
                    </p>
                  </td>
<td>
                    <p>
                      -
                    </p>
                  </td>
<td>
                    <p>
                      Must be specified
                    </p>
                  </td>
</tr>
<tr>
<td>
                    <p>
                      Dimension
                    </p>
                  </td>
<td>
                    <p>
                      Dimension, this template parameter is required. Should contain
                      [0 .. n-1] for an n-dimensional geometry
                    </p>
                  </td>
<td>
                    <p>
                      -
                    </p>
                  </td>
<td>
                    <p>
                      Must be specified
                    </p>
                  </td>
</tr>
<tr>
<td>
                    <p>
                      Geometry &amp;
                    </p>
                  </td>
<td>
                    <p>
                      Any type fulfilling a Box Concept or a Segment Concept
                    </p>
                  </td>
<td>
                    <p>
                      geometry
                    </p>
                  </td>
<td>
                    <p>
                      A model of the specified concept
                    </p>
                  </td>
</tr>
<tr>
<td>
                    <p>
                      typename coordinate_type&lt; Geometry &gt;::type const &amp;
                    </p>
                  </td>
<td>
                  </td>
<td>
                    <p>
                      value
                    </p>
                  </td>
<td>
                    <p>
                      The coordinate value to set
                    </p>
                  </td>
</tr>
</tbody>
</table></div>
<h6>
<a name="geometry.reference.access.set.set_2_with_index.h3"></a>
            <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.header"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.header">Header</a>
          </h6>
<p>
            Either
          </p>
<p>
            <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
          </p>
<p>
            Or
          </p>
<p>
            <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">access</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
          </p>
<h6>
<a name="geometry.reference.access.set.set_2_with_index.h4"></a>
            <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.behavior"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.behavior">Behavior</a>
          </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                    <p>
                      Case
                    </p>
                  </th>
<th>
                    <p>
                      Behavior
                    </p>
                  </th>
</tr></thead>
<tbody>
<tr>
<td>
                    <p>
                      Box
                    </p>
                  </td>
<td>
                    <p>
                      Sets the coordinate of a box (use min_corner, max_corner to
                      specify which of the points to set)
                    </p>
                  </td>
</tr>
<tr>
<td>
                    <p>
                      Segment
                    </p>
                  </td>
<td>
                    <p>
                      Sets the coordinate of a segment (use 0, 1 to specify which
                      of the two points to set)
                    </p>
                  </td>
</tr>
</tbody>
</table></div>
<h6>
<a name="geometry.reference.access.set.set_2_with_index.h5"></a>
            <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.complexity"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.complexity">Complexity</a>
          </h6>
<p>
            Constant
          </p>
<h6>
<a name="geometry.reference.access.set.set_2_with_index.h6"></a>
            <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.example"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.example">Example</a>
          </h6>
<p>
            Set the coordinate of a box
          </p>
<p>
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>

<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="identifier">point_xy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>

<span class="keyword">namespace</span> <span class="identifier">bg</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">;</span>

<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
<span class="special">{</span>
    <span class="identifier">bg</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">box</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">d2</span><span class="special">::</span><span class="identifier">point_xy</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">box</span><span class="special">;</span>

    <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">min_corner</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span>
    <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">min_corner</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
    <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">max_corner</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">4</span><span class="special">);</span>
    <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">max_corner</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span>

    <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Extent: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bg</span><span class="special">::</span><span class="identifier">dsv</span><span class="special">(</span><span class="identifier">box</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>

    <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
<span class="special">}</span>
</pre>
<p>
          </p>
<p>
            Output:
          </p>
<pre class="programlisting">Extent: ((0, 2), (4, 5))
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2009-2021 Barend Gehrels,
      Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its affiliates<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="set_2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_from_radian_2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
